<?php

namespace Drinkiit\BlogBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Validator\Constraints\Email;
use Symfony\Component\Validator\Constraints\MinLength;
use Symfony\Component\Validator\Constraints\MaxLength;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

/**
 * Drinkiit\BlogBundle\Entity\Produit
 */
class Produit
{
    public static function loadValidatorMetadata(ClassMetadata $metadata)
    {
        $metadata->addPropertyConstraint('nom_produit', new MaxLength(array( 'limit' => 100, 'message' => 'Le nom est trop grand (limit 100 caractères)' )) );
        $metadata->addConstraint(new UniqueEntity(array(
            "fields" => "nom_produit", 
            "message" => "Ce produit existe déjà.")
        ));
    }
    /**
     * @var integer $id
     */
    private $id;

    /**
     * @var string $nom_produit
     */
    private $nom_produit;

    /**
     * @var integer $prix
     */
    private $prix;

    /**
     * @var text $description
     */
    private $description;

    /**
     * @var boolean $disponibilite
     */
    private $disponibilite;

    /**
     * @var Drinkiit\BlogBundle\Entity\Article
     */
    private $article;

    /**
     * @var Drinkiit\BlogBundle\Entity\Type_produit
     */
    private $type_produit;

    public function __construct()
    {
        $this->article = new \Doctrine\Common\Collections\ArrayCollection();
    }
    
    public function __toString() // ce qui sera affiché dans le select dans les formulaires
    {
        return $this->getNomProduit() ;
    }
    
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set nom_produit
     *
     * @param string $nomProduit
     */
    public function setNomProduit($nomProduit)
    {
        $this->nom_produit = $nomProduit;
    }

    /**
     * Get nom_produit
     *
     * @return string 
     */
    public function getNomProduit()
    {
        return $this->nom_produit;
    }

    /**
     * Set prix
     *
     * @param integer $prix
     */
    public function setPrix($prix)
    {
        $this->prix = $prix;
    }

    /**
     * Get prix
     *
     * @return integer 
     */
    public function getPrix()
    {
        return $this->prix / 100;
    }

    /**
     * Set description
     *
     * @param text $description
     */
    public function setDescription($description)
    {
        $this->description = $description;
    }

    /**
     * Get description
     *
     * @return text 
     */
    public function getDescription()
    {
        return $this->description;
    }

    /**
     * Set disponibilite
     *
     * @param boolean $disponibilite
     */
    public function setDisponibilite($disponibilite)
    {
        $this->disponibilite = $disponibilite;
    }

    /**
     * Get disponibilite
     *
     * @return boolean 
     */
    public function getDisponibilite()
    {
        return $this->disponibilite;
    }

    /**
     * Add article
     *
     * @param Drinkiit\BlogBundle\Entity\Article $article
     */
    public function addArticle(\Drinkiit\BlogBundle\Entity\Article $article)
    {
        $this->article[] = $article;
    }

    /**
     * Get article
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getArticle()
    {
        return $this->article;
    }

    /**
     * Set type_produit
     *
     * @param Drinkiit\BlogBundle\Entity\Type_produit $typeProduit
     */
    public function setTypeProduit(\Drinkiit\BlogBundle\Entity\Type_produit $typeProduit)
    {
        $this->type_produit = $typeProduit;
    }

    /**
     * Get type_produit
     *
     * @return Drinkiit\BlogBundle\Entity\Type_produit 
     */
    public function getTypeProduit()
    {
        return $this->type_produit;
    }
}
